package com.ruoyi.data.domain.bo.Devices;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备历史业务对象 devices_old
 *
 * @author ruoyi
 * @date 2024-10-12
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class DevicesOldBo extends BaseEntity {

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 用户ID
     */
    @NotBlank(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userId;

    /**
     * 用户名称
     */
    @NotBlank(message = "用户名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userName;

    /**
     * 项目
     */
    @NotBlank(message = "项目不能为空", groups = { AddGroup.class, EditGroup.class })
    private String project;

    /**
     * 设备ID
     */
    @NotBlank(message = "设备ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceId;

    /**
     * 设备组
     */
    @NotBlank(message = "设备组不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceGroup;

    /**
     * 设备名称
     */
    @NotBlank(message = "设备名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceName;

    /**
     * table展示
     */
    @NotBlank(message = "table展示不能为空", groups = { AddGroup.class, EditGroup.class })
    private String columns;

    /**
     * 设备配置
     */
    @NotBlank(message = "设备配置不能为空", groups = { AddGroup.class, EditGroup.class })
    private String config;

    /**
     * 下发任务
     */
    @NotBlank(message = "下发任务不能为空", groups = { AddGroup.class, EditGroup.class })
    private String actionMessage;

    /**
     * 电量
     */
    @NotBlank(message = "电量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String battery;

    /**
     * 运时
     */
    @NotBlank(message = "运时不能为空", groups = { AddGroup.class, EditGroup.class })
    private String runtime;

    /**
     * 创建日期
     */
    @NotNull(message = "创建日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date date;

    /**
     * 更新时间
     */
    @NotNull(message = "更新时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date lastUpdate;

    /**
     * Websocket_ID
     */
    @NotNull(message = "Websocket_ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long resourceId;

    /**
     * 自动化状态
     */
    @NotNull(message = "自动化状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isScriptRunning;

    /**
     * 已读未读
     */
    @NotNull(message = "已读未读不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;


}
